// 全局请求封装
// const baseUrl = 'http://192.168.0.77:8585/temperature'
export const baseUrl = 'http://192.168.0.77:8089/device'
export const uploadbaseUrl = 'http://192.168.0.77:8089/device'
// export const baseUrl = 'https://device.ddkjzj.com/device'
let request = (url, method, params, file) => {
	const token = uni.getStorageSync('token') || "";

	let header
	// 这种判断 在微信小程序失效了
	if (file) {
		console.log(999,file)
		return new Promise((resolve, reject) => {
			// 图片上传
			uni.uploadFile({
				url: baseUrl + url,
				// files: file , // 文件 (微信小程序不支持)
				filePath: file.url, // 文件
				// filePath: file.tempFilePaths[0], // 文件路径
				name: 'file',
				formData: params, // 除文件外其他所有数据，传对象，会默认转换为 FormData
				header: {
					token: token,
					// 'content-type': 'application/json;charset=UTF-8'
				},
				success: res => {
						console.log(888,res)
					if (JSON.parse(res.data).code == 401) {
						uni.reLaunch({
							url: '/pages/index/index'
						})
						// 登录态失效, 重新登录
						// uni.showToast({
						// 				title: '您未登录请登录操作',
						// 				duration: 1000,
						// 				icon: 'none',
						// 				success: () => {
						// 					setTimeout(() => {
						// 						uni.reLaunch({
						// 							url: '/pages/index/index'
						// 						})
						// 					}, 500)
						// 				}
						// 			});
						return;
					}
				
					resolve(JSON.parse(res.data));
					uni.hideLoading();
				},
			})
		})
	} else {
		uni.showLoading({
			title: "加载中"
		});
		if (method == "POST") {
			header = {
				token: token,
				'content-type': 'application/json;charset=UTF-8'
			}
		} 
		else {
			header = {
				token: token,
				"content-type": "application/json"
			}
		}	

		return new Promise((resolve, reject) => {
			uni.request({
				url: baseUrl + url,
				method: method,
				header: header,
				data: params,
				success(res) {
					if (res.data.code == 10001 || res.data.code === 401) {
						uni.reLaunch({
							url: '/pages/index/index'
						})
						return;
					}
					if (res.data.code !== 0) {
						uni.showToast({
							title: res.data.msg,
							icon: 'none',
							duration: 2000
						})
						resolve(res.data);
						return
					}
					resolve(res.data);
					uni.hideLoading();
				},
				fail(err) {
					reject(err);
					uni.hideLoading();
				},
				complete() {
					// uni.hideLoading();
				}
			});
		});
	}
};
export default request;